Towards Inverse Execution of Constraint Handling Rules
نویسندگان
چکیده
Inverse execution is a non-deterministic process of discovering the inputs to a program starting from its output. This paper deals with the inverse execution of Constraint Handling Rules (CHR). First a simple inversion technique is proposed, which produces a reverse program consisting of rules with exchanged left and right hand sides. The limitations of this method are presented and reveal the need for a different CHR execution strategy. Then an extension is provided to execute the inverse program whilst exploring all possible execution paths incrementally and exhaustively through different methods such as breadth-first traversal or random path choice. An on-line tool was implemented to transform any forward CHR program into its equivalent inverse; examples and results highlight the validity of this work.
منابع مشابه
Concurrent goal-based execution of Constraint Handling Rules
We introduce a systematic, concurrent execution scheme for Constraint Handling Rules (CHR) based on a previously proposed sequential goal-based CHR semantics. We establish strong correspondence results to the abstract CHR semantics, thus guaranteeing that any answer in the concurrent, goal-based CHR semantics is reproducible in the abstract CHR semantics. Our work provides the foundation to obt...
متن کاملSatisfiability Modulo Constraint Handling Rules (Extended Abstract)
Satisfiability Modulo Constraint Handling Rules (SMCHR) is the integration of the Constraint Handling Rules (CHRs) solver programming language into a Satisfiability Modulo Theories (SMT) solver framework. Constraint solvers are implemented in CHR as a set of high-level rules that specify the simplification (rewriting) and constraint propagation behavior. The traditional CHR execution algorithm ...
متن کاملCHR Exhaustive Execution - Revisited
Constraint Handling Rules (CHR) apply guarded rules to rewrite constraints in a constraint store, until a final state is reached in which no more rules are applicable. The rules cannot be retracted, therefore CHR does not backtrack over alternatives. In this paper, a novel source-to-source transformation is proposed, which transforms any given CHR program to one that backtracks over all possibl...
متن کاملA complete and terminating execution model for Constraint Handling Rules
We observe that the various formulations of the operational semantics of Constraint Handling Rules proposed over the years fall into a spectrum ranging from the analytical to the pragmatic. While existing analytical formulations facilitate program analysis and formal proofs of program properties, they cannot be implemented as is. We propose a novel operational semantics ω!, which has a strong a...
متن کاملUsing Rules to Animate Prolog Programs
The paper provides a methodology to visualize the execution of Prolog programs. Program animation is useful in debugging programs. It could also help beginners to Prolog understand how Prolog works. The provided approach uses Constraint Handling Rules (CHR). The aim of the work is to animate the algorithm implemented by the Prolog program.
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- TPLP
دوره 13 شماره
صفحات -
تاریخ انتشار 2013